草庐IT

Hadoop : NoSuchMethodException

全部标签

hadoop - Hadoop什么时候开始shuffle

我对洗牌何时开始有疑问。假设我有2个映射器和1个缩减器。每个映射器将生成输出map1和map2。这个map1和map2存储在各自datanode的临时磁盘中。现在reducer应该等待map1和map2的输出?换句话说,什么时候开始洗牌?一旦map1完成还是必须等待map2也完成?我正在收听reducer的改组流量,但我找不到任何流量,但控制台输出显示已经完成了70%(大约)的减少。14/12/1817:45:55INFOmapred.JobClient:map97%reduce22%14/12/1817:45:58INFOmapred.JobClient:map98%reduce22

hadoop - Storm spout NullPointerException - 异步循环终止

我是Storm的初学者。我正在尝试执行下面的示例程序HowtocreateatopologyinstormSampleSpout.javaimportjava.util.ArrayList;importjava.util.List;importjava.util.Map;importbacktype.storm.spout.SpoutOutputCollector;importbacktype.storm.task.TopologyContext;importbacktype.storm.topology.IRichSpout;importbacktype.storm.topology

hadoop - 将 jars 添加到启动 map reduce 作业的代码的类路径中

我正在尝试从实现Tool接口(interface)的应用程序启动mapreduce作业。该应用程序几乎没有做其他事情,例如mapreduce作业的先决条件。此类使用一些第三方库,如何在运行jar时使用以下命令将这些jar添加到类路径:hadoopjar[args]从这里Cloudera'spost我试图将HADOOP_CLASSPATHenvvar设置为第三方jar,但没有成功。上面提到的第三方jar仅由启Action业的类而不是Mapper/Reducer类需要。所以我不需要把它们放在分布式缓存中。当我在$HADOOP_HOME/lib下复制这些我需要的第三方jar时,它可以工作,但

hadoop - Pig 的 COGROUP 运算符如何工作?

这里的COGROUP运算符是如何工作的?在最后两行输出中我们如何以及为什么得到空包(没有网站详细解释COGROUP中的数据排列)?A=load'student'as(name:chararray,age:int,gpa:float);B=load'student'as(name:chararray,age:int,gpa:float);dumpB;(joe,18,2.5)(sam,,3.0)(bob,,3.5)X=cogroupAbyage,Bbyage;dumpX;(18,{(joe,18,2.5)},{(joe,18,2.5)})(,{(sam,,3.0),(bob,,3.5)},

hadoop - 仅基于月/年对配置单元表进行分区或分桶以优化查询

我正在构建一个包含大约40万行消息传递应用数据的表。当前表的列看起来像这样:消息标识符(整数)|发件人用户ID(整数)|other_col(字符串)|other_col2(int)|create_dt(时间戳)我将来要运行的很多查询都将依赖于涉及create_dt列的where子句。因为我预计这张表会增长,所以我想立即尝试优化它。我知道分区是一种方式,但是当我根据create_dt对其进行分区时,结果分区太多,因为我的每个日期都可以追溯到2013年11月。有没有办法改为按日期范围进行分区?每3个月分区一次怎么样?甚至每个月?如果这是可能的-我将来可能有太多分区导致效率低下吗?还有哪些其

hadoop - 为 AvroParquetInputFormat 设置多个 projectionSchemas 的问题

我使用AvroParquetInputFormat。用例需要扫描多个输入目录,每个目录将包含具有一个模式的文件。由于AvroParquetInputFormat类无法处理多个输入模式,我通过静态创建多个虚拟类(如MyAvroParquetInputFormat1、MyAvroParquetInputFormat2等)创建了一个解决方法,其中每个类都继承自AvroParquetInputFormat。对于每个目录,我设置了一个不同的MyAvroParquetInputFormat并且有效(如果有更简洁的方法来实现此目的,请告诉我)。我目前的问题如下:每个文件都有几百列,基于元数据,我为每

java - Hadoop Mapreduce 让 addInputPath 使用特定文件名

嘿,这更像是一个java问题,但它与Hadoop相关。我的MapReducejava作业中的代码中有这一行:JobConfconf=newJobConf(WordCount.class);conf.setJobName("WordCount");.......................................FileInputFormat.addInputPath(conf,newPath(args[0]));我如何设置特定的文件名,而不是“给”一个包含许多文件的目录? 最佳答案 摘自《Hadoop:权威指南》一书:A

java - 运行 Hadoop : insufficient memory for the Java Runtime Environment to continue

我有一个在3gb内存上运行的32位linux系统。当我尝试运行hadoop示例时,它失败了,说没有足够的内存分配给jre。生成的结果是:hadoopjarmapreduce/hadoop-mapreduce-examples-*.jargrepinputoutput‘dfs[a-z.]+’15/01/1110:17:04INFOclient.RMProxy:ConnectingtoResourceManagerat/127.0.0.1:803215/01/1110:17:05WARNmapreduce.JobSubmitter:Nojobjarfileset.Userclassesma

hadoop - 使用 sqoop 将数据从 Hive 导出到 rdbms 时如何处理主键

这是我的场景,我在配置单元仓库中有一个数据,我想将此数据导出到mysql中名为“测试”数据库的“示例”表中。如果一列是sample.test中的主键,并且hive中的数据(我们正在导出)在该键下有重复值,那么作业显然会失败,那么我该如何处理这种情况?提前致谢 最佳答案 如果你希望你的mysql表只包含重复项中的最后一行,你可以使用以下内容:sqoopexport--connectjdbc:mysql:///test-tablesample--usernameroot-P--export-dir/user/hive/warehouse

hadoop - 输入格式决定

我想找出给定的答案中哪个最适合这个问题:Givenadirectoryoffileswiththefollowingstructure:linenumber,tabcharacter,string:Example:1abialkjfjkaoasdfjksdlkjhqweroij2kadfjhuwqounahagtnbvaswslmnbfgy3kjfteiomndscxeqalkzhtopedkfsikjYouwanttosendeachlineasonerecordtoyourMapper.WhichInputFormatshouldyouusetocompletetheline:co